package br.ucb.ProjetoFinal.view;

import br.ucb.ProjetoFinal.bean.ApresentacaoParticipante;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/*
 * Managed bean responsavel pelo caso de uso MANTER PARTICIPANTE
 */
@ManagedBean(name="managedParticipante")
@SessionScoped
public class ManagedParticipante {

//////////////////////////////////ATRIBUTOS/////////////////////////////////////
    
    //Usado tanto no cadastro quanto nas consultas, para armazenar o valor dos campos
    private ApresentacaoParticipante participante;
    //Esta LIST receberá os vários empreendimentos cadastrados, na hora da pesquisa
    private List<ApresentacaoParticipante> participantes;
    //Usado para indicar pesquisa sem resultados
    private Boolean semResults;

////////////////////////////////////////////////////////////////////////////////

    public ManagedParticipante() {
        //Seta o valor inicial para os radio-buttons na pagina da consulta
        setParticipante(new ApresentacaoParticipante());
    }


    // METODO USADO PARA PESQUISA DE PARTICIPANTES////////////////////////////
        public String procurar(){

            //setParticipantes(escolhe.pesquisaParticipantes(getNumRadioPesquisa(),getParticipante()));

            //Se o array estiver vazio, significa que não foram encontrados resultados
            if(getParticipantes().isEmpty())
                setSemResults(true);
            else
                setSemResults(false);

            return "procurarEmpr";
        }
    // FIM DO METODO////////////////////////////////////////////////////////////


    // METODO USADO PARA DETALHAR UM PARTICIPANTE/////////////////////////////
        public String detalhar(){
            String index = (String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("index");
            setParticipante(getParticipantes().get(Integer.parseInt(index)));

            return "result";
        }
    // FIM DO METODO////////////////////////////////////////////////////////////


    //FUNÇÃO USADA PARA IR PARA PÁGINA DA CONSULTA
       
        public String consultaParticipante(){
            setParticipante(new ApresentacaoParticipante());

            return "consultaPaticip";
        }
    //FIM DAS FUNÇÕES///////////////////////////////////////////////////////////


//GETTERS & SETTERS/////////////////////////////////////////////////////////////
    public ApresentacaoParticipante getParticipante() {
        return participante;
    }

    public void setParticipante(ApresentacaoParticipante empreendimento) {
        this.participante = empreendimento;
    }

    public void setParticipantes(List<ApresentacaoParticipante> empreendimentos) {
        this.participantes = empreendimentos;
    }

    public List<ApresentacaoParticipante> getParticipantes() {
        return participantes;
    }

    public void setSemResults(Boolean semResults) {
        this.semResults = semResults;
    }

    public Boolean getSemResults() {
        return semResults;
    }

}
